package com.shycloud.mido.organ.mapper;

import java.util.List;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.shycloud.mido.organ.api.dto.LiveRoomDTO;
import com.shycloud.mido.organ.api.dto.OrgOrOptDTO;
import com.shycloud.mido.organ.api.entity.LiveRoomEntity;
import com.shycloud.mido.organ.api.vo.LiveRoomVO;

import org.apache.ibatis.annotations.Param;

public interface LiveRoomMapper extends BaseMapper<LiveRoomEntity> {
    
    IPage<LiveRoomDTO> getRoomPage(@Param("page") Page page);

    IPage<LiveRoomDTO> getMyRoomPage(@Param("page") Page page, @Param("memberId") String memberId);

    List<OrgOrOptDTO> getOrgList();

    List<OrgOrOptDTO> getOptList();

    LiveRoomDTO getRoomDetail(@Param("roomId") String roomId);

    IPage<LiveRoomDTO> getInvitedRoomPage(@Param("page") Page page, @Param("memberId") String memberId,@Param("name") String name);
    
    IPage<LiveRoomDTO> getInvitedRecordRoomPage(@Param("page") Page page);

    IPage<LiveRoomDTO> getRoomPageAdmin(@Param("page") Page page, @Param("name") String name, @Param("type") String type);

}
